package com.ecommerce.user.service;

import com.ecommerce.user.dto.UserLoginRequest;
import com.ecommerce.user.dto.UserLoginResponse;
import com.ecommerce.user.dto.UserRegisterRequest;
import com.ecommerce.user.dto.UserResponse;

/**
 * 用户服务接口
 */
public interface UserService {

    /**
     * 用户注册
     * @param registerRequest 注册请求
     * @return 用户响应
     */
    UserResponse register(UserRegisterRequest registerRequest);

    /**
     * 用户登录
     * @param loginRequest 登录请求
     * @return 登录响应
     */
    UserLoginResponse login(UserLoginRequest loginRequest);

    /**
     * 根据ID获取用户信息
     * @param userId 用户ID
     * @return 用户响应
     */
    UserResponse getUserById(Long userId);

    /**
     * 根据用户名获取用户信息
     * @param username 用户名
     * @return 用户响应
     */
    UserResponse getUserByUsername(String username);
}